Visual illustrations, including graphs, charts, and diagrams, have been used for centuries to facilitate human comprehension of information. For example, a line chart may be used to help people understand the trend of the real estate market for a particular area, or a scatter plot may be used to describe the population distribution for a specific geographical region.
A number of commercial illustration systems, such as ADOBE ILLUSTRATOR™ and MICROSOFT POWERPOINT™, help users create visual illustrations. Although these systems may provide different visual style sheets to their users (e.g., different chart styles provided by POWERPOINT™), the users are still required to craft their intended visual illustrations by hand. For example, users must decide which visual structures are best for their data (e.g., bar chart vs. pie chart), and determine what visual details are suitable to encode different types of information (e.g., using color to encode categorical data vs. using size to encode numerical data). Hand-crafting visual illustrations may be a difficult and time-consuming task when a user has not had training in visual design.
To support the dynamic design of customized visual illustrations, an area of research, known as automated graphics generation has emerged. The key challenge in developing an automated graphics generation system is determining how to automatically map a set of design requirements (input parameters) onto a set of visual metaphors and their structures, which constitute the intended visual illustration. The design requirements include everything that may impact the outcome of a desired visual illustration, including the underlying characteristics of the data to be visualized, user tasks, device capabilities, and user preferences. On the other hand, the visual metaphors and their compositions may include visual objects at multiple levels of abstraction, ranging from high-level schematic structures, such as charts and diagrams, to lowest level visual primitives, such as color and size.
To help automatically establish such a mapping, existing work has focused on employing a rule-based approach. Given a set of data entities, a rule-based approach employs hand-crafted design rules to map design requirements (e.g., data to be conveyed and the user goals) onto proper visual metaphors/structures. Nevertheless, the rule-based approaches present several major problems.
First, acquiring design rules manually is difficult. Hand-crafting design rules can be laborious as experts may need to process large amounts of evidence before extracting rules.
Second, maintaining and extending a large rule base is difficult. As the rule base grows, it is difficult to integrate new rules with existing rules, and discover/rectify inconsistencies among the rules.
Third, since rules normally are an abstraction of well-formed design patterns, it may be very difficult to use rules to capture various subtle and creative design features rendered by different design experts/artists.
In addition, existing generation systems directly provide users with a final presentation (e.g., a bar chart created for displaying quarterly sales data) for a given user request (e.g., displaying sales data) without involving users in the design process. Because of the abstract nature of rules and a lack of user intervention, the resulting illustrations may not be what a user desires.
Thus, there exists a need for techniques which overcome the drawbacks associated with the approaches described above, as well as drawbacks not expressly described above, and which thereby provide more efficient and scalable solutions to the problems associated with automated graphics generation.